Techniques disclosed herein pertain generally to the field of global positioning systems, and more specifically to techniques for improving the accuracy of mobile device location estimation using satellite signals. Mobile devices, such as smart phones, typically come equipped with global positioning systems that enable those devices to estimate their geographical coordinates based on signals received from various satellites. A mobile device can compute the position of a Global Navigation Satellite System (GNSS) satellite using satellite ephemeris information and a time estimate. A mobile device also can compute an azimuth and elevation of such a satellite for a particular combination of latitude, longitude, and altitude. Given a position, velocity, and time (PVT) for each GNSS satellite from which it receives a signal, a mobile device can estimate distances between each satellite and the mobile device. A pseudorange is the pseudo distance between a satellite and GPS receiver. To determine its position, a mobile device can determine the ranges to multiple satellites. For each satellite, the pseudoranges for that satellite can be obtained by multiplying the speed of light by the time the signal has taken to travel from that satellite to the mobile device. The term pseudoranges is used to refer to such distances because there the time measured might be inaccurate. The mobile device can use such distances, or pseudoranges, to estimate its own position on or near the Earth's surface with greater accuracy.
However, in an urban environment in which tall buildings surround a mobile device, the signals that the mobile device detects from various satellites might not be direct line-of-sight signals. In such an environment, at least some of the signals that the mobile device detects might actually be signals that have reflected off of building surfaces. This reflection can distort the mobile device's estimation of each satellite's distance from the mobile device. As a result, the mobile device might estimate its geographical coordinates with less accuracy than if the detected signals had not been reflected in this manner.